# -*- coding: utf-8 -*-

###############################################################################
# This file is part of metalibm (https://github.com/kalray/metalibm)
###############################################################################
# MIT License
#
# Copyright (c) 2018 Kalray
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
###############################################################################
# created:          Mar 30th, 2018
# last-modified:    Mar 30th, 2018
#
# author(s): Nicolas Brunie (nicolas.brunie@kalray.eu)
###############################################################################
import sollya

from metalibm_core.core.ml_formats import ML_Binary32
from metalibm_core.core.ml_table import ML_ApproxTable
from metalibm_core.core.ml_operations import ReciprocalSeed
from metalibm_core.code_generation.generator_utility import type_strict_match

#   // Program used to dump rcp approx values
#   #include "xmmintrin.h"
#   #include <stdio.h>
#
#   int main(void)
#   {
#       float step = 0x1.p-11;
#       unsigned index_size = 11;
#       for (int i = 0; i < (1<<index_size); ++i) {
#           float input = 1.0f + i * step;
#           float approx = 0.0f;
#           _mm_store_ss(&approx, _mm_rcp_ss (_mm_set_ss(input)));
#           printf("\"%a\", ", approx);
#           if (i % 5 == 4) printf("\n");
#       }
#       return 0;
#   }
x86_rcp_table = ML_ApproxTable(
    dimensions = [2**11], 
    index_size=11,
    storage_precision = ML_Binary32,
    init_data = [sollya.parse(v) for v in [
        "0x1.ffep-1", "0x1.ffap-1", "0x1.ff6p-1", "0x1.ff2p-1", "0x1.feep-1", 
        "0x1.feap-1", "0x1.fe6p-1", "0x1.fe2p-1", "0x1.fdep-1", "0x1.fdap-1", 
        "0x1.fd6p-1", "0x1.fd2p-1", "0x1.fcep-1", "0x1.fcap-1", "0x1.fc6p-1", 
        "0x1.fc2p-1", "0x1.fbfp-1", "0x1.fbbp-1", "0x1.fb7p-1", "0x1.fb3p-1", 
        "0x1.fafp-1", "0x1.fabp-1", "0x1.fa7p-1", "0x1.fa3p-1", "0x1.f9fp-1", 
        "0x1.f9bp-1", "0x1.f97p-1", "0x1.f93p-1", "0x1.f9p-1", "0x1.f8cp-1", 
        "0x1.f88p-1", "0x1.f84p-1", "0x1.f8p-1", "0x1.f7cp-1", "0x1.f78p-1", 
        "0x1.f74p-1", "0x1.f71p-1", "0x1.f6dp-1", "0x1.f69p-1", "0x1.f65p-1", 
        "0x1.f61p-1", "0x1.f5dp-1", "0x1.f59p-1", "0x1.f56p-1", "0x1.f52p-1", 
        "0x1.f4ep-1", "0x1.f4ap-1", "0x1.f46p-1", "0x1.f42p-1", "0x1.f3fp-1", 
        "0x1.f3bp-1", "0x1.f37p-1", "0x1.f33p-1", "0x1.f2fp-1", "0x1.f2cp-1", 
        "0x1.f28p-1", "0x1.f24p-1", "0x1.f2p-1", "0x1.f1cp-1", "0x1.f19p-1", 
        "0x1.f15p-1", "0x1.f11p-1", "0x1.f0dp-1", "0x1.f0ap-1", "0x1.f06p-1", 
        "0x1.f02p-1", "0x1.efep-1", "0x1.efbp-1", "0x1.ef7p-1", "0x1.ef3p-1", 
        "0x1.eefp-1", "0x1.eecp-1", "0x1.ee8p-1", "0x1.ee4p-1", "0x1.eep-1", 
        "0x1.eddp-1", "0x1.ed9p-1", "0x1.ed5p-1", "0x1.ed2p-1", "0x1.ecep-1", 
        "0x1.ecap-1", "0x1.ec6p-1", "0x1.ec3p-1", "0x1.ebfp-1", "0x1.ebbp-1", 
        "0x1.eb8p-1", "0x1.eb4p-1", "0x1.ebp-1", "0x1.eadp-1", "0x1.ea9p-1", 
        "0x1.ea5p-1", "0x1.ea2p-1", "0x1.e9ep-1", "0x1.e9ap-1", "0x1.e97p-1", 
        "0x1.e93p-1", "0x1.e8fp-1", "0x1.e8cp-1", "0x1.e88p-1", "0x1.e84p-1", 
        "0x1.e81p-1", "0x1.e7dp-1", "0x1.e7ap-1", "0x1.e76p-1", "0x1.e72p-1", 
        "0x1.e6fp-1", "0x1.e6bp-1", "0x1.e67p-1", "0x1.e64p-1", "0x1.e6p-1", 
        "0x1.e5dp-1", "0x1.e59p-1", "0x1.e55p-1", "0x1.e52p-1", "0x1.e4ep-1", 
        "0x1.e4bp-1", "0x1.e47p-1", "0x1.e44p-1", "0x1.e4p-1", "0x1.e3cp-1", 
        "0x1.e39p-1", "0x1.e35p-1", "0x1.e32p-1", "0x1.e2ep-1", "0x1.e2bp-1", 
        "0x1.e27p-1", "0x1.e23p-1", "0x1.e2p-1", "0x1.e1cp-1", "0x1.e19p-1", 
        "0x1.e15p-1", "0x1.e12p-1", "0x1.e0ep-1", "0x1.e0bp-1", "0x1.e07p-1", 
        "0x1.e04p-1", "0x1.ep-1", "0x1.dfdp-1", "0x1.df9p-1", "0x1.df6p-1", 
        "0x1.df2p-1", "0x1.defp-1", "0x1.debp-1", "0x1.de8p-1", "0x1.de4p-1", 
        "0x1.de1p-1", "0x1.dddp-1", "0x1.ddap-1", "0x1.dd6p-1", "0x1.dd3p-1", 
        "0x1.dcfp-1", "0x1.dccp-1", "0x1.dc8p-1", "0x1.dc5p-1", "0x1.dc1p-1", 
        "0x1.dbep-1", "0x1.dbap-1", "0x1.db7p-1", "0x1.db4p-1", "0x1.dbp-1", 
        "0x1.dadp-1", "0x1.da9p-1", "0x1.da6p-1", "0x1.da2p-1", "0x1.d9fp-1", 
        "0x1.d9bp-1", "0x1.d98p-1", "0x1.d95p-1", "0x1.d91p-1", "0x1.d8ep-1", 
        "0x1.d8ap-1", "0x1.d87p-1", "0x1.d84p-1", "0x1.d8p-1", "0x1.d7dp-1", 
        "0x1.d79p-1", "0x1.d76p-1", "0x1.d73p-1", "0x1.d6fp-1", "0x1.d6cp-1", 
        "0x1.d68p-1", "0x1.d65p-1", "0x1.d62p-1", "0x1.d5ep-1", "0x1.d5bp-1", 
        "0x1.d58p-1", "0x1.d54p-1", "0x1.d51p-1", "0x1.d4ep-1", "0x1.d4ap-1", 
        "0x1.d47p-1", "0x1.d44p-1", "0x1.d4p-1", "0x1.d3dp-1", "0x1.d39p-1", 
        "0x1.d36p-1", "0x1.d33p-1", "0x1.d2fp-1", "0x1.d2cp-1", "0x1.d29p-1", 
        "0x1.d26p-1", "0x1.d22p-1", "0x1.d1fp-1", "0x1.d1cp-1", "0x1.d18p-1", 
        "0x1.d15p-1", "0x1.d12p-1", "0x1.d0ep-1", "0x1.d0bp-1", "0x1.d08p-1", 
        "0x1.d04p-1", "0x1.d01p-1", "0x1.cfep-1", "0x1.cfbp-1", "0x1.cf7p-1", 
        "0x1.cf4p-1", "0x1.cf1p-1", "0x1.ceep-1", "0x1.ceap-1", "0x1.ce7p-1", 
        "0x1.ce4p-1", "0x1.cep-1", "0x1.cddp-1", "0x1.cdap-1", "0x1.cd7p-1", 
        "0x1.cd3p-1", "0x1.cdp-1", "0x1.ccdp-1", "0x1.ccap-1", "0x1.cc7p-1", 
        "0x1.cc3p-1", "0x1.ccp-1", "0x1.cbdp-1", "0x1.cbap-1", "0x1.cb6p-1", 
        "0x1.cb3p-1", "0x1.cbp-1", "0x1.cadp-1", "0x1.caap-1", "0x1.ca6p-1", 
        "0x1.ca3p-1", "0x1.cap-1", "0x1.c9dp-1", "0x1.c99p-1", "0x1.c96p-1", 
        "0x1.c93p-1", "0x1.c9p-1", "0x1.c8dp-1", "0x1.c8ap-1", "0x1.c86p-1", 
        "0x1.c83p-1", "0x1.c8p-1", "0x1.c7dp-1", "0x1.c7ap-1", "0x1.c77p-1", 
        "0x1.c73p-1", "0x1.c7p-1", "0x1.c6dp-1", "0x1.c6ap-1", "0x1.c67p-1", 
        "0x1.c64p-1", "0x1.c6p-1", "0x1.c5dp-1", "0x1.c5ap-1", "0x1.c57p-1", 
        "0x1.c54p-1", "0x1.c51p-1", "0x1.c4ep-1", "0x1.c4ap-1", "0x1.c47p-1", 
        "0x1.c44p-1", "0x1.c41p-1", "0x1.c3ep-1", "0x1.c3bp-1", "0x1.c38p-1", 
        "0x1.c35p-1", "0x1.c32p-1", "0x1.c2ep-1", "0x1.c2bp-1", "0x1.c28p-1", 
        "0x1.c25p-1", "0x1.c22p-1", "0x1.c1fp-1", "0x1.c1cp-1", "0x1.c19p-1", 
        "0x1.c16p-1", "0x1.c13p-1", "0x1.c1p-1", "0x1.c0cp-1", "0x1.c09p-1", 
        "0x1.c06p-1", "0x1.c03p-1", "0x1.cp-1", "0x1.bfdp-1", "0x1.bfap-1", 
        "0x1.bf7p-1", "0x1.bf4p-1", "0x1.bf1p-1", "0x1.beep-1", "0x1.bebp-1", 
        "0x1.be8p-1", "0x1.be5p-1", "0x1.be2p-1", "0x1.bdfp-1", "0x1.bdcp-1", 
        "0x1.bd9p-1", "0x1.bd6p-1", "0x1.bd3p-1", "0x1.bdp-1", "0x1.bcdp-1", 
        "0x1.bcap-1", "0x1.bc6p-1", "0x1.bc3p-1", "0x1.bcp-1", "0x1.bbdp-1", 
        "0x1.bbap-1", "0x1.bb7p-1", "0x1.bb4p-1", "0x1.bb1p-1", "0x1.baep-1", 
        "0x1.babp-1", "0x1.ba8p-1", "0x1.ba6p-1", "0x1.ba3p-1", "0x1.bap-1", 
        "0x1.b9dp-1", "0x1.b9ap-1", "0x1.b97p-1", "0x1.b94p-1", "0x1.b91p-1", 
        "0x1.b8ep-1", "0x1.b8bp-1", "0x1.b88p-1", "0x1.b85p-1", "0x1.b82p-1", 
        "0x1.b7fp-1", "0x1.b7cp-1", "0x1.b79p-1", "0x1.b76p-1", "0x1.b73p-1", 
        "0x1.b7p-1", "0x1.b6dp-1", "0x1.b6ap-1", "0x1.b67p-1", "0x1.b64p-1", 
        "0x1.b61p-1", "0x1.b5fp-1", "0x1.b5cp-1", "0x1.b59p-1", "0x1.b56p-1", 
        "0x1.b53p-1", "0x1.b5p-1", "0x1.b4dp-1", "0x1.b4ap-1", "0x1.b47p-1", 
        "0x1.b44p-1", "0x1.b41p-1", "0x1.b3fp-1", "0x1.b3cp-1", "0x1.b39p-1", 
        "0x1.b36p-1", "0x1.b33p-1", "0x1.b3p-1", "0x1.b2dp-1", "0x1.b2ap-1", 
        "0x1.b27p-1", "0x1.b25p-1", "0x1.b22p-1", "0x1.b1fp-1", "0x1.b1cp-1", 
        "0x1.b19p-1", "0x1.b16p-1", "0x1.b13p-1", "0x1.b1p-1", "0x1.b0ep-1", 
        "0x1.b0bp-1", "0x1.b08p-1", "0x1.b05p-1", "0x1.b02p-1", "0x1.affp-1", 
        "0x1.afcp-1", "0x1.afap-1", "0x1.af7p-1", "0x1.af4p-1", "0x1.af1p-1", 
        "0x1.aeep-1", "0x1.aebp-1", "0x1.ae9p-1", "0x1.ae6p-1", "0x1.ae3p-1", 
        "0x1.aep-1", "0x1.addp-1", "0x1.adap-1", "0x1.ad8p-1", "0x1.ad5p-1", 
        "0x1.ad2p-1", "0x1.acfp-1", "0x1.accp-1", "0x1.acap-1", "0x1.ac7p-1", 
        "0x1.ac4p-1", "0x1.ac1p-1", "0x1.abep-1", "0x1.abcp-1", "0x1.ab9p-1", 
        "0x1.ab6p-1", "0x1.ab3p-1", "0x1.ab1p-1", "0x1.aaep-1", "0x1.aabp-1", 
        "0x1.aa8p-1", "0x1.aa5p-1", "0x1.aa3p-1", "0x1.aap-1", "0x1.a9dp-1", 
        "0x1.a9ap-1", "0x1.a98p-1", "0x1.a95p-1", "0x1.a92p-1", "0x1.a8fp-1", 
        "0x1.a8dp-1", "0x1.a8ap-1", "0x1.a87p-1", "0x1.a84p-1", "0x1.a82p-1", 
        "0x1.a7fp-1", "0x1.a7cp-1", "0x1.a79p-1", "0x1.a77p-1", "0x1.a74p-1", 
        "0x1.a71p-1", "0x1.a6ep-1", "0x1.a6cp-1", "0x1.a69p-1", "0x1.a66p-1", 
        "0x1.a63p-1", "0x1.a61p-1", "0x1.a5ep-1", "0x1.a5bp-1", "0x1.a59p-1", 
        "0x1.a56p-1", "0x1.a53p-1", "0x1.a5p-1", "0x1.a4ep-1", "0x1.a4bp-1", 
        "0x1.a48p-1", "0x1.a46p-1", "0x1.a43p-1", "0x1.a4p-1", "0x1.a3ep-1", 
        "0x1.a3bp-1", "0x1.a38p-1", "0x1.a36p-1", "0x1.a33p-1", "0x1.a3p-1", 
        "0x1.a2ep-1", "0x1.a2bp-1", "0x1.a28p-1", "0x1.a25p-1", "0x1.a23p-1", 
        "0x1.a2p-1", "0x1.a1dp-1", "0x1.a1bp-1", "0x1.a18p-1", "0x1.a15p-1", 
        "0x1.a13p-1", "0x1.a1p-1", "0x1.a0ep-1", "0x1.a0bp-1", "0x1.a08p-1", 
        "0x1.a06p-1", "0x1.a03p-1", "0x1.ap-1", "0x1.9fep-1", "0x1.9fbp-1", 
        "0x1.9f8p-1", "0x1.9f6p-1", "0x1.9f3p-1", "0x1.9fp-1", "0x1.9eep-1", 
        "0x1.9ebp-1", "0x1.9e9p-1", "0x1.9e6p-1", "0x1.9e3p-1", "0x1.9e1p-1", 
        "0x1.9dep-1", "0x1.9dcp-1", "0x1.9d9p-1", "0x1.9d6p-1", "0x1.9d4p-1", 
        "0x1.9d1p-1", "0x1.9cfp-1", "0x1.9ccp-1", "0x1.9c9p-1", "0x1.9c7p-1", 
        "0x1.9c4p-1", "0x1.9c2p-1", "0x1.9bfp-1", "0x1.9bcp-1", "0x1.9bap-1", 
        "0x1.9b7p-1", "0x1.9b5p-1", "0x1.9b2p-1", "0x1.9afp-1", "0x1.9adp-1", 
        "0x1.9aap-1", "0x1.9a8p-1", "0x1.9a5p-1", "0x1.9a3p-1", "0x1.9ap-1", 
        "0x1.99dp-1", "0x1.99bp-1", "0x1.998p-1", "0x1.996p-1", "0x1.993p-1", 
        "0x1.991p-1", "0x1.98ep-1", "0x1.98cp-1", "0x1.989p-1", "0x1.986p-1", 
        "0x1.984p-1", "0x1.981p-1", "0x1.97fp-1", "0x1.97cp-1", "0x1.97ap-1", 
        "0x1.977p-1", "0x1.975p-1", "0x1.972p-1", "0x1.97p-1", "0x1.96dp-1", 
        "0x1.96bp-1", "0x1.968p-1", "0x1.966p-1", "0x1.963p-1", "0x1.961p-1", 
        "0x1.95ep-1", "0x1.95bp-1", "0x1.959p-1", "0x1.956p-1", "0x1.954p-1", 
        "0x1.951p-1", "0x1.94fp-1", "0x1.94cp-1", "0x1.94ap-1", "0x1.947p-1", 
        "0x1.945p-1", "0x1.942p-1", "0x1.94p-1", "0x1.93dp-1", "0x1.93bp-1", 
        "0x1.939p-1", "0x1.936p-1", "0x1.934p-1", "0x1.931p-1", "0x1.92fp-1", 
        "0x1.92cp-1", "0x1.92ap-1", "0x1.927p-1", "0x1.925p-1", "0x1.922p-1", 
        "0x1.92p-1", "0x1.91dp-1", "0x1.91bp-1", "0x1.918p-1", "0x1.916p-1", 
        "0x1.913p-1", "0x1.911p-1", "0x1.90fp-1", "0x1.90cp-1", "0x1.90ap-1", 
        "0x1.907p-1", "0x1.905p-1", "0x1.902p-1", "0x1.9p-1", "0x1.8fdp-1", 
        "0x1.8fbp-1", "0x1.8f9p-1", "0x1.8f6p-1", "0x1.8f4p-1", "0x1.8f1p-1", 
        "0x1.8efp-1", "0x1.8ecp-1", "0x1.8eap-1", "0x1.8e8p-1", "0x1.8e5p-1", 
        "0x1.8e3p-1", "0x1.8ep-1", "0x1.8dep-1", "0x1.8dbp-1", "0x1.8d9p-1", 
        "0x1.8d7p-1", "0x1.8d4p-1", "0x1.8d2p-1", "0x1.8cfp-1", "0x1.8cdp-1", 
        "0x1.8cbp-1", "0x1.8c8p-1", "0x1.8c6p-1", "0x1.8c3p-1", "0x1.8c1p-1", 
        "0x1.8bfp-1", "0x1.8bcp-1", "0x1.8bap-1", "0x1.8b7p-1", "0x1.8b5p-1", 
        "0x1.8b3p-1", "0x1.8bp-1", "0x1.8aep-1", "0x1.8acp-1", "0x1.8a9p-1", 
        "0x1.8a7p-1", "0x1.8a4p-1", "0x1.8a2p-1", "0x1.8ap-1", "0x1.89dp-1", 
        "0x1.89bp-1", "0x1.899p-1", "0x1.896p-1", "0x1.894p-1", "0x1.891p-1", 
        "0x1.88fp-1", "0x1.88dp-1", "0x1.88ap-1", "0x1.888p-1", "0x1.886p-1", 
        "0x1.883p-1", "0x1.881p-1", "0x1.87fp-1", "0x1.87cp-1", "0x1.87ap-1", 
        "0x1.878p-1", "0x1.875p-1", "0x1.873p-1", "0x1.871p-1", "0x1.86ep-1", 
        "0x1.86cp-1", "0x1.86ap-1", "0x1.867p-1", "0x1.865p-1", "0x1.863p-1", 
        "0x1.86p-1", "0x1.85ep-1", "0x1.85cp-1", "0x1.859p-1", "0x1.857p-1", 
        "0x1.855p-1", "0x1.852p-1", "0x1.85p-1", "0x1.84ep-1", "0x1.84cp-1", 
        "0x1.849p-1", "0x1.847p-1", "0x1.845p-1", "0x1.842p-1", "0x1.84p-1", 
        "0x1.83ep-1", "0x1.83bp-1", "0x1.839p-1", "0x1.837p-1", "0x1.835p-1", 
        "0x1.832p-1", "0x1.83p-1", "0x1.82ep-1", "0x1.82bp-1", "0x1.829p-1", 
        "0x1.827p-1", "0x1.825p-1", "0x1.822p-1", "0x1.82p-1", "0x1.81ep-1", 
        "0x1.81bp-1", "0x1.819p-1", "0x1.817p-1", "0x1.815p-1", "0x1.812p-1", 
        "0x1.81p-1", "0x1.80ep-1", "0x1.80cp-1", "0x1.809p-1", "0x1.807p-1", 
        "0x1.805p-1", "0x1.803p-1", "0x1.8p-1", "0x1.7fep-1", "0x1.7fcp-1", 
        "0x1.7fap-1", "0x1.7f7p-1", "0x1.7f5p-1", "0x1.7f3p-1", "0x1.7f1p-1", 
        "0x1.7eep-1", "0x1.7ecp-1", "0x1.7eap-1", "0x1.7e8p-1", "0x1.7e5p-1", 
        "0x1.7e3p-1", "0x1.7e1p-1", "0x1.7dfp-1", "0x1.7ddp-1", "0x1.7dap-1", 
        "0x1.7d8p-1", "0x1.7d6p-1", "0x1.7d4p-1", "0x1.7d1p-1", "0x1.7cfp-1", 
        "0x1.7cdp-1", "0x1.7cbp-1", "0x1.7c9p-1", "0x1.7c6p-1", "0x1.7c4p-1", 
        "0x1.7c2p-1", "0x1.7cp-1", "0x1.7bep-1", "0x1.7bbp-1", "0x1.7b9p-1", 
        "0x1.7b7p-1", "0x1.7b5p-1", "0x1.7b3p-1", "0x1.7bp-1", "0x1.7aep-1", 
        "0x1.7acp-1", "0x1.7aap-1", "0x1.7a8p-1", "0x1.7a5p-1", "0x1.7a3p-1", 
        "0x1.7a1p-1", "0x1.79fp-1", "0x1.79dp-1", "0x1.79bp-1", "0x1.798p-1", 
        "0x1.796p-1", "0x1.794p-1", "0x1.792p-1", "0x1.79p-1", "0x1.78ep-1", 
        "0x1.78bp-1", "0x1.789p-1", "0x1.787p-1", "0x1.785p-1", "0x1.783p-1", 
        "0x1.781p-1", "0x1.77ep-1", "0x1.77cp-1", "0x1.77ap-1", "0x1.778p-1", 
        "0x1.776p-1", "0x1.774p-1", "0x1.772p-1", "0x1.76fp-1", "0x1.76dp-1", 
        "0x1.76bp-1", "0x1.769p-1", "0x1.767p-1", "0x1.765p-1", "0x1.763p-1", 
        "0x1.76p-1", "0x1.75ep-1", "0x1.75cp-1", "0x1.75ap-1", "0x1.758p-1", 
        "0x1.756p-1", "0x1.754p-1", "0x1.751p-1", "0x1.74fp-1", "0x1.74dp-1", 
        "0x1.74bp-1", "0x1.749p-1", "0x1.747p-1", "0x1.745p-1", "0x1.743p-1", 
        "0x1.741p-1", "0x1.73ep-1", "0x1.73cp-1", "0x1.73ap-1", "0x1.738p-1", 
        "0x1.736p-1", "0x1.734p-1", "0x1.732p-1", "0x1.73p-1", "0x1.72ep-1", 
        "0x1.72bp-1", "0x1.729p-1", "0x1.727p-1", "0x1.725p-1", "0x1.723p-1", 
        "0x1.721p-1", "0x1.71fp-1", "0x1.71dp-1", "0x1.71bp-1", "0x1.719p-1", 
        "0x1.717p-1", "0x1.715p-1", "0x1.712p-1", "0x1.71p-1", "0x1.70ep-1", 
        "0x1.70cp-1", "0x1.70ap-1", "0x1.708p-1", "0x1.706p-1", "0x1.704p-1", 
        "0x1.702p-1", "0x1.7p-1", "0x1.6fep-1", "0x1.6fcp-1", "0x1.6fap-1", 
        "0x1.6f8p-1", "0x1.6f5p-1", "0x1.6f3p-1", "0x1.6f1p-1", "0x1.6efp-1", 
        "0x1.6edp-1", "0x1.6ebp-1", "0x1.6e9p-1", "0x1.6e7p-1", "0x1.6e5p-1", 
        "0x1.6e3p-1", "0x1.6e1p-1", "0x1.6dfp-1", "0x1.6ddp-1", "0x1.6dbp-1", 
        "0x1.6d9p-1", "0x1.6d7p-1", "0x1.6d5p-1", "0x1.6d3p-1", "0x1.6d1p-1", 
        "0x1.6cfp-1", "0x1.6cdp-1", "0x1.6cbp-1", "0x1.6c9p-1", "0x1.6c6p-1", 
        "0x1.6c4p-1", "0x1.6c2p-1", "0x1.6cp-1", "0x1.6bep-1", "0x1.6bcp-1", 
        "0x1.6bap-1", "0x1.6b8p-1", "0x1.6b6p-1", "0x1.6b4p-1", "0x1.6b2p-1", 
        "0x1.6bp-1", "0x1.6aep-1", "0x1.6acp-1", "0x1.6aap-1", "0x1.6a8p-1", 
        "0x1.6a6p-1", "0x1.6a4p-1", "0x1.6a2p-1", "0x1.6ap-1", "0x1.69ep-1", 
        "0x1.69cp-1", "0x1.69ap-1", "0x1.698p-1", "0x1.696p-1", "0x1.694p-1", 
        "0x1.692p-1", "0x1.69p-1", "0x1.68ep-1", "0x1.68cp-1", "0x1.68ap-1", 
        "0x1.688p-1", "0x1.686p-1", "0x1.684p-1", "0x1.682p-1", "0x1.68p-1", 
        "0x1.67ep-1", "0x1.67cp-1", "0x1.67ap-1", "0x1.679p-1", "0x1.677p-1", 
        "0x1.675p-1", "0x1.673p-1", "0x1.671p-1", "0x1.66fp-1", "0x1.66dp-1", 
        "0x1.66bp-1", "0x1.669p-1", "0x1.667p-1", "0x1.665p-1", "0x1.663p-1", 
        "0x1.661p-1", "0x1.65fp-1", "0x1.65dp-1", "0x1.65bp-1", "0x1.659p-1", 
        "0x1.657p-1", "0x1.655p-1", "0x1.653p-1", "0x1.651p-1", "0x1.64fp-1", 
        "0x1.64dp-1", "0x1.64cp-1", "0x1.64ap-1", "0x1.648p-1", "0x1.646p-1", 
        "0x1.644p-1", "0x1.642p-1", "0x1.64p-1", "0x1.63ep-1", "0x1.63cp-1", 
        "0x1.63ap-1", "0x1.638p-1", "0x1.636p-1", "0x1.634p-1", "0x1.632p-1", 
        "0x1.63p-1", "0x1.62fp-1", "0x1.62dp-1", "0x1.62bp-1", "0x1.629p-1", 
        "0x1.627p-1", "0x1.625p-1", "0x1.623p-1", "0x1.621p-1", "0x1.61fp-1", 
        "0x1.61dp-1", "0x1.61bp-1", "0x1.619p-1", "0x1.618p-1", "0x1.616p-1", 
        "0x1.614p-1", "0x1.612p-1", "0x1.61p-1", "0x1.60ep-1", "0x1.60cp-1", 
        "0x1.60ap-1", "0x1.608p-1", "0x1.606p-1", "0x1.605p-1", "0x1.603p-1", 
        "0x1.601p-1", "0x1.5ffp-1", "0x1.5fdp-1", "0x1.5fbp-1", "0x1.5f9p-1", 
        "0x1.5f7p-1", "0x1.5f5p-1", "0x1.5f4p-1", "0x1.5f2p-1", "0x1.5fp-1", 
        "0x1.5eep-1", "0x1.5ecp-1", "0x1.5eap-1", "0x1.5e8p-1", "0x1.5e6p-1", 
        "0x1.5e5p-1", "0x1.5e3p-1", "0x1.5e1p-1", "0x1.5dfp-1", "0x1.5ddp-1", 
        "0x1.5dbp-1", "0x1.5d9p-1", "0x1.5d7p-1", "0x1.5d6p-1", "0x1.5d4p-1", 
        "0x1.5d2p-1", "0x1.5dp-1", "0x1.5cep-1", "0x1.5ccp-1", "0x1.5cap-1", 
        "0x1.5c9p-1", "0x1.5c7p-1", "0x1.5c5p-1", "0x1.5c3p-1", "0x1.5c1p-1", 
        "0x1.5bfp-1", "0x1.5bep-1", "0x1.5bcp-1", "0x1.5bap-1", "0x1.5b8p-1", 
        "0x1.5b6p-1", "0x1.5b4p-1", "0x1.5b2p-1", "0x1.5b1p-1", "0x1.5afp-1", 
        "0x1.5adp-1", "0x1.5abp-1", "0x1.5a9p-1", "0x1.5a7p-1", "0x1.5a6p-1", 
        "0x1.5a4p-1", "0x1.5a2p-1", "0x1.5ap-1", "0x1.59ep-1", "0x1.59cp-1", 
        "0x1.59bp-1", "0x1.599p-1", "0x1.597p-1", "0x1.595p-1", "0x1.593p-1", 
        "0x1.592p-1", "0x1.59p-1", "0x1.58ep-1", "0x1.58cp-1", "0x1.58ap-1", 
        "0x1.588p-1", "0x1.587p-1", "0x1.585p-1", "0x1.583p-1", "0x1.581p-1", 
        "0x1.57fp-1", "0x1.57ep-1", "0x1.57cp-1", "0x1.57ap-1", "0x1.578p-1", 
        "0x1.576p-1", "0x1.575p-1", "0x1.573p-1", "0x1.571p-1", "0x1.56fp-1", 
        "0x1.56dp-1", "0x1.56cp-1", "0x1.56ap-1", "0x1.568p-1", "0x1.566p-1", 
        "0x1.564p-1", "0x1.563p-1", "0x1.561p-1", "0x1.55fp-1", "0x1.55dp-1", 
        "0x1.55cp-1", "0x1.55ap-1", "0x1.558p-1", "0x1.556p-1", "0x1.554p-1", 
        "0x1.553p-1", "0x1.551p-1", "0x1.54fp-1", "0x1.54dp-1", "0x1.54cp-1", 
        "0x1.54ap-1", "0x1.548p-1", "0x1.546p-1", "0x1.544p-1", "0x1.543p-1", 
        "0x1.541p-1", "0x1.53fp-1", "0x1.53dp-1", "0x1.53cp-1", "0x1.53ap-1", 
        "0x1.538p-1", "0x1.536p-1", "0x1.535p-1", "0x1.533p-1", "0x1.531p-1", 
        "0x1.52fp-1", "0x1.52ep-1", "0x1.52cp-1", "0x1.52ap-1", "0x1.528p-1", 
        "0x1.527p-1", "0x1.525p-1", "0x1.523p-1", "0x1.521p-1", "0x1.52p-1", 
        "0x1.51ep-1", "0x1.51cp-1", "0x1.51ap-1", "0x1.519p-1", "0x1.517p-1", 
        "0x1.515p-1", "0x1.513p-1", "0x1.512p-1", "0x1.51p-1", "0x1.50ep-1", 
        "0x1.50dp-1", "0x1.50bp-1", "0x1.509p-1", "0x1.507p-1", "0x1.506p-1", 
        "0x1.504p-1", "0x1.502p-1", "0x1.5p-1", "0x1.4ffp-1", "0x1.4fdp-1", 
        "0x1.4fbp-1", "0x1.4fap-1", "0x1.4f8p-1", "0x1.4f6p-1", "0x1.4f4p-1", 
        "0x1.4f3p-1", "0x1.4f1p-1", "0x1.4efp-1", "0x1.4eep-1", "0x1.4ecp-1", 
        "0x1.4eap-1", "0x1.4e8p-1", "0x1.4e7p-1", "0x1.4e5p-1", "0x1.4e3p-1", 
        "0x1.4e2p-1", "0x1.4ep-1", "0x1.4dep-1", "0x1.4ddp-1", "0x1.4dbp-1", 
        "0x1.4d9p-1", "0x1.4d7p-1", "0x1.4d6p-1", "0x1.4d4p-1", "0x1.4d2p-1", 
        "0x1.4d1p-1", "0x1.4cfp-1", "0x1.4cdp-1", "0x1.4ccp-1", "0x1.4cap-1", 
        "0x1.4c8p-1", "0x1.4c7p-1", "0x1.4c5p-1", "0x1.4c3p-1", "0x1.4c1p-1", 
        "0x1.4cp-1", "0x1.4bep-1", "0x1.4bcp-1", "0x1.4bbp-1", "0x1.4b9p-1", 
        "0x1.4b7p-1", "0x1.4b6p-1", "0x1.4b4p-1", "0x1.4b2p-1", "0x1.4b1p-1", 
        "0x1.4afp-1", "0x1.4adp-1", "0x1.4acp-1", "0x1.4aap-1", "0x1.4a8p-1", 
        "0x1.4a7p-1", "0x1.4a5p-1", "0x1.4a3p-1", "0x1.4a2p-1", "0x1.4ap-1", 
        "0x1.49ep-1", "0x1.49dp-1", "0x1.49bp-1", "0x1.499p-1", "0x1.498p-1", 
        "0x1.496p-1", "0x1.494p-1", "0x1.493p-1", "0x1.491p-1", "0x1.48fp-1", 
        "0x1.48ep-1", "0x1.48cp-1", "0x1.48ap-1", "0x1.489p-1", "0x1.487p-1", 
        "0x1.486p-1", "0x1.484p-1", "0x1.482p-1", "0x1.481p-1", "0x1.47fp-1", 
        "0x1.47dp-1", "0x1.47cp-1", "0x1.47ap-1", "0x1.478p-1", "0x1.477p-1", 
        "0x1.475p-1", "0x1.474p-1", "0x1.472p-1", "0x1.47p-1", "0x1.46fp-1", 
        "0x1.46dp-1", "0x1.46bp-1", "0x1.46ap-1", "0x1.468p-1", "0x1.466p-1", 
        "0x1.465p-1", "0x1.463p-1", "0x1.462p-1", "0x1.46p-1", "0x1.45ep-1", 
        "0x1.45dp-1", "0x1.45bp-1", "0x1.45ap-1", "0x1.458p-1", "0x1.456p-1", 
        "0x1.455p-1", "0x1.453p-1", "0x1.451p-1", "0x1.45p-1", "0x1.44ep-1", 
        "0x1.44dp-1", "0x1.44bp-1", "0x1.449p-1", "0x1.448p-1", "0x1.446p-1", 
        "0x1.445p-1", "0x1.443p-1", "0x1.441p-1", "0x1.44p-1", "0x1.43ep-1", 
        "0x1.43dp-1", "0x1.43bp-1", "0x1.439p-1", "0x1.438p-1", "0x1.436p-1", 
        "0x1.435p-1", "0x1.433p-1", "0x1.431p-1", "0x1.43p-1", "0x1.42ep-1", 
        "0x1.42dp-1", "0x1.42bp-1", "0x1.429p-1", "0x1.428p-1", "0x1.426p-1", 
        "0x1.425p-1", "0x1.423p-1", "0x1.421p-1", "0x1.42p-1", "0x1.41ep-1", 
        "0x1.41dp-1", "0x1.41bp-1", "0x1.41ap-1", "0x1.418p-1", "0x1.416p-1", 
        "0x1.415p-1", "0x1.413p-1", "0x1.412p-1", "0x1.41p-1", "0x1.40fp-1", 
        "0x1.40dp-1", "0x1.40bp-1", "0x1.40ap-1", "0x1.408p-1", "0x1.407p-1", 
        "0x1.405p-1", "0x1.404p-1", "0x1.402p-1", "0x1.4p-1", "0x1.3ffp-1", 
        "0x1.3fdp-1", "0x1.3fcp-1", "0x1.3fap-1", "0x1.3f9p-1", "0x1.3f7p-1", 
        "0x1.3f6p-1", "0x1.3f4p-1", "0x1.3f2p-1", "0x1.3f1p-1", "0x1.3efp-1", 
        "0x1.3eep-1", "0x1.3ecp-1", "0x1.3ebp-1", "0x1.3e9p-1", "0x1.3e8p-1", 
        "0x1.3e6p-1", "0x1.3e4p-1", "0x1.3e3p-1", "0x1.3e1p-1", "0x1.3ep-1", 
        "0x1.3dep-1", "0x1.3ddp-1", "0x1.3dbp-1", "0x1.3dap-1", "0x1.3d8p-1", 
        "0x1.3d7p-1", "0x1.3d5p-1", "0x1.3d4p-1", "0x1.3d2p-1", "0x1.3dp-1", 
        "0x1.3cfp-1", "0x1.3cdp-1", "0x1.3ccp-1", "0x1.3cap-1", "0x1.3c9p-1", 
        "0x1.3c7p-1", "0x1.3c6p-1", "0x1.3c4p-1", "0x1.3c3p-1", "0x1.3c1p-1", 
        "0x1.3cp-1", "0x1.3bep-1", "0x1.3bdp-1", "0x1.3bbp-1", "0x1.3bap-1", 
        "0x1.3b8p-1", "0x1.3b7p-1", "0x1.3b5p-1", "0x1.3b4p-1", "0x1.3b2p-1", 
        "0x1.3bp-1", "0x1.3afp-1", "0x1.3adp-1", "0x1.3acp-1", "0x1.3aap-1", 
        "0x1.3a9p-1", "0x1.3a7p-1", "0x1.3a6p-1", "0x1.3a4p-1", "0x1.3a3p-1", 
        "0x1.3a1p-1", "0x1.3ap-1", "0x1.39ep-1", "0x1.39dp-1", "0x1.39bp-1", 
        "0x1.39ap-1", "0x1.398p-1", "0x1.397p-1", "0x1.395p-1", "0x1.394p-1", 
        "0x1.392p-1", "0x1.391p-1", "0x1.38fp-1", "0x1.38ep-1", "0x1.38cp-1", 
        "0x1.38bp-1", "0x1.389p-1", "0x1.388p-1", "0x1.386p-1", "0x1.385p-1", 
        "0x1.383p-1", "0x1.382p-1", "0x1.38p-1", "0x1.37fp-1", "0x1.37ep-1", 
        "0x1.37cp-1", "0x1.37bp-1", "0x1.379p-1", "0x1.378p-1", "0x1.376p-1", 
        "0x1.375p-1", "0x1.373p-1", "0x1.372p-1", "0x1.37p-1", "0x1.36fp-1", 
        "0x1.36dp-1", "0x1.36cp-1", "0x1.36ap-1", "0x1.369p-1", "0x1.367p-1", 
        "0x1.366p-1", "0x1.364p-1", "0x1.363p-1", "0x1.361p-1", "0x1.36p-1", 
        "0x1.35fp-1", "0x1.35dp-1", "0x1.35cp-1", "0x1.35ap-1", "0x1.359p-1", 
        "0x1.357p-1", "0x1.356p-1", "0x1.354p-1", "0x1.353p-1", "0x1.351p-1", 
        "0x1.35p-1", "0x1.34ep-1", "0x1.34dp-1", "0x1.34cp-1", "0x1.34ap-1", 
        "0x1.349p-1", "0x1.347p-1", "0x1.346p-1", "0x1.344p-1", "0x1.343p-1", 
        "0x1.341p-1", "0x1.34p-1", "0x1.33fp-1", "0x1.33dp-1", "0x1.33cp-1", 
        "0x1.33ap-1", "0x1.339p-1", "0x1.337p-1", "0x1.336p-1", "0x1.334p-1", 
        "0x1.333p-1", "0x1.332p-1", "0x1.33p-1", "0x1.32fp-1", "0x1.32dp-1", 
        "0x1.32cp-1", "0x1.32ap-1", "0x1.329p-1", "0x1.327p-1", "0x1.326p-1", 
        "0x1.325p-1", "0x1.323p-1", "0x1.322p-1", "0x1.32p-1", "0x1.31fp-1", 
        "0x1.31dp-1", "0x1.31cp-1", "0x1.31bp-1", "0x1.319p-1", "0x1.318p-1", 
        "0x1.316p-1", "0x1.315p-1", "0x1.313p-1", "0x1.312p-1", "0x1.311p-1", 
        "0x1.30fp-1", "0x1.30ep-1", "0x1.30cp-1", "0x1.30bp-1", "0x1.30ap-1", 
        "0x1.308p-1", "0x1.307p-1", "0x1.305p-1", "0x1.304p-1", "0x1.302p-1", 
        "0x1.301p-1", "0x1.3p-1", "0x1.2fep-1", "0x1.2fdp-1", "0x1.2fbp-1", 
        "0x1.2fap-1", "0x1.2f9p-1", "0x1.2f7p-1", "0x1.2f6p-1", "0x1.2f4p-1", 
        "0x1.2f3p-1", "0x1.2f2p-1", "0x1.2fp-1", "0x1.2efp-1", "0x1.2edp-1", 
        "0x1.2ecp-1", "0x1.2ebp-1", "0x1.2e9p-1", "0x1.2e8p-1", "0x1.2e6p-1", 
        "0x1.2e5p-1", "0x1.2e4p-1", "0x1.2e2p-1", "0x1.2e1p-1", "0x1.2dfp-1", 
        "0x1.2dep-1", "0x1.2ddp-1", "0x1.2dbp-1", "0x1.2dap-1", "0x1.2d9p-1", 
        "0x1.2d7p-1", "0x1.2d6p-1", "0x1.2d4p-1", "0x1.2d3p-1", "0x1.2d2p-1", 
        "0x1.2dp-1", "0x1.2cfp-1", "0x1.2cdp-1", "0x1.2ccp-1", "0x1.2cbp-1", 
        "0x1.2c9p-1", "0x1.2c8p-1", "0x1.2c7p-1", "0x1.2c5p-1", "0x1.2c4p-1", 
        "0x1.2c2p-1", "0x1.2c1p-1", "0x1.2cp-1", "0x1.2bep-1", "0x1.2bdp-1", 
        "0x1.2bcp-1", "0x1.2bap-1", "0x1.2b9p-1", "0x1.2b7p-1", "0x1.2b6p-1", 
        "0x1.2b5p-1", "0x1.2b3p-1", "0x1.2b2p-1", "0x1.2b1p-1", "0x1.2afp-1", 
        "0x1.2aep-1", "0x1.2adp-1", "0x1.2abp-1", "0x1.2aap-1", "0x1.2a8p-1", 
        "0x1.2a7p-1", "0x1.2a6p-1", "0x1.2a4p-1", "0x1.2a3p-1", "0x1.2a2p-1", 
        "0x1.2ap-1", "0x1.29fp-1", "0x1.29ep-1", "0x1.29cp-1", "0x1.29bp-1", 
        "0x1.29ap-1", "0x1.298p-1", "0x1.297p-1", "0x1.295p-1", "0x1.294p-1", 
        "0x1.293p-1", "0x1.291p-1", "0x1.29p-1", "0x1.28fp-1", "0x1.28dp-1", 
        "0x1.28cp-1", "0x1.28bp-1", "0x1.289p-1", "0x1.288p-1", "0x1.287p-1", 
        "0x1.285p-1", "0x1.284p-1", "0x1.283p-1", "0x1.281p-1", "0x1.28p-1", 
        "0x1.27fp-1", "0x1.27dp-1", "0x1.27cp-1", "0x1.27bp-1", "0x1.279p-1", 
        "0x1.278p-1", "0x1.277p-1", "0x1.275p-1", "0x1.274p-1", "0x1.273p-1", 
        "0x1.271p-1", "0x1.27p-1", "0x1.26fp-1", "0x1.26dp-1", "0x1.26cp-1", 
        "0x1.26bp-1", "0x1.269p-1", "0x1.268p-1", "0x1.267p-1", "0x1.265p-1", 
        "0x1.264p-1", "0x1.263p-1", "0x1.261p-1", "0x1.26p-1", "0x1.25fp-1", 
        "0x1.25dp-1", "0x1.25cp-1", "0x1.25bp-1", "0x1.25ap-1", "0x1.258p-1", 
        "0x1.257p-1", "0x1.256p-1", "0x1.254p-1", "0x1.253p-1", "0x1.252p-1", 
        "0x1.25p-1", "0x1.24fp-1", "0x1.24ep-1", "0x1.24cp-1", "0x1.24bp-1", 
        "0x1.24ap-1", "0x1.248p-1", "0x1.247p-1", "0x1.246p-1", "0x1.245p-1", 
        "0x1.243p-1", "0x1.242p-1", "0x1.241p-1", "0x1.23fp-1", "0x1.23ep-1", 
        "0x1.23dp-1", "0x1.23bp-1", "0x1.23ap-1", "0x1.239p-1", "0x1.238p-1", 
        "0x1.236p-1", "0x1.235p-1", "0x1.234p-1", "0x1.232p-1", "0x1.231p-1", 
        "0x1.23p-1", "0x1.22fp-1", "0x1.22dp-1", "0x1.22cp-1", "0x1.22bp-1", 
        "0x1.229p-1", "0x1.228p-1", "0x1.227p-1", "0x1.225p-1", "0x1.224p-1", 
        "0x1.223p-1", "0x1.222p-1", "0x1.22p-1", "0x1.21fp-1", "0x1.21ep-1", 
        "0x1.21dp-1", "0x1.21bp-1", "0x1.21ap-1", "0x1.219p-1", "0x1.217p-1", 
        "0x1.216p-1", "0x1.215p-1", "0x1.214p-1", "0x1.212p-1", "0x1.211p-1", 
        "0x1.21p-1", "0x1.20ep-1", "0x1.20dp-1", "0x1.20cp-1", "0x1.20bp-1", 
        "0x1.209p-1", "0x1.208p-1", "0x1.207p-1", "0x1.206p-1", "0x1.204p-1", 
        "0x1.203p-1", "0x1.202p-1", "0x1.2p-1", "0x1.1ffp-1", "0x1.1fep-1", 
        "0x1.1fdp-1", "0x1.1fbp-1", "0x1.1fap-1", "0x1.1f9p-1", "0x1.1f8p-1", 
        "0x1.1f6p-1", "0x1.1f5p-1", "0x1.1f4p-1", "0x1.1f3p-1", "0x1.1f1p-1", 
        "0x1.1fp-1", "0x1.1efp-1", "0x1.1eep-1", "0x1.1ecp-1", "0x1.1ebp-1", 
        "0x1.1eap-1", "0x1.1e9p-1", "0x1.1e7p-1", "0x1.1e6p-1", "0x1.1e5p-1", 
        "0x1.1e4p-1", "0x1.1e2p-1", "0x1.1e1p-1", "0x1.1ep-1", "0x1.1dfp-1", 
        "0x1.1ddp-1", "0x1.1dcp-1", "0x1.1dbp-1", "0x1.1dap-1", "0x1.1d8p-1", 
        "0x1.1d7p-1", "0x1.1d6p-1", "0x1.1d5p-1", "0x1.1d3p-1", "0x1.1d2p-1", 
        "0x1.1d1p-1", "0x1.1dp-1", "0x1.1cep-1", "0x1.1cdp-1", "0x1.1ccp-1", 
        "0x1.1cbp-1", "0x1.1c9p-1", "0x1.1c8p-1", "0x1.1c7p-1", "0x1.1c6p-1", 
        "0x1.1c5p-1", "0x1.1c3p-1", "0x1.1c2p-1", "0x1.1c1p-1", "0x1.1cp-1", 
        "0x1.1bep-1", "0x1.1bdp-1", "0x1.1bcp-1", "0x1.1bbp-1", "0x1.1b9p-1", 
        "0x1.1b8p-1", "0x1.1b7p-1", "0x1.1b6p-1", "0x1.1b5p-1", "0x1.1b3p-1", 
        "0x1.1b2p-1", "0x1.1b1p-1", "0x1.1bp-1", "0x1.1aep-1", "0x1.1adp-1", 
        "0x1.1acp-1", "0x1.1abp-1", "0x1.1aap-1", "0x1.1a8p-1", "0x1.1a7p-1", 
        "0x1.1a6p-1", "0x1.1a5p-1", "0x1.1a3p-1", "0x1.1a2p-1", "0x1.1a1p-1", 
        "0x1.1ap-1", "0x1.19fp-1", "0x1.19dp-1", "0x1.19cp-1", "0x1.19bp-1", 
        "0x1.19ap-1", "0x1.199p-1", "0x1.197p-1", "0x1.196p-1", "0x1.195p-1", 
        "0x1.194p-1", "0x1.193p-1", "0x1.191p-1", "0x1.19p-1", "0x1.18fp-1", 
        "0x1.18ep-1", "0x1.18cp-1", "0x1.18bp-1", "0x1.18ap-1", "0x1.189p-1", 
        "0x1.188p-1", "0x1.186p-1", "0x1.185p-1", "0x1.184p-1", "0x1.183p-1", 
        "0x1.182p-1", "0x1.18p-1", "0x1.17fp-1", "0x1.17ep-1", "0x1.17dp-1", 
        "0x1.17cp-1", "0x1.17bp-1", "0x1.179p-1", "0x1.178p-1", "0x1.177p-1", 
        "0x1.176p-1", "0x1.175p-1", "0x1.173p-1", "0x1.172p-1", "0x1.171p-1", 
        "0x1.17p-1", "0x1.16fp-1", "0x1.16dp-1", "0x1.16cp-1", "0x1.16bp-1", 
        "0x1.16ap-1", "0x1.169p-1", "0x1.168p-1", "0x1.166p-1", "0x1.165p-1", 
        "0x1.164p-1", "0x1.163p-1", "0x1.162p-1", "0x1.16p-1", "0x1.15fp-1", 
        "0x1.15ep-1", "0x1.15dp-1", "0x1.15cp-1", "0x1.15bp-1", "0x1.159p-1", 
        "0x1.158p-1", "0x1.157p-1", "0x1.156p-1", "0x1.155p-1", "0x1.153p-1", 
        "0x1.152p-1", "0x1.151p-1", "0x1.15p-1", "0x1.14fp-1", "0x1.14ep-1", 
        "0x1.14cp-1", "0x1.14bp-1", "0x1.14ap-1", "0x1.149p-1", "0x1.148p-1", 
        "0x1.147p-1", "0x1.145p-1", "0x1.144p-1", "0x1.143p-1", "0x1.142p-1", 
        "0x1.141p-1", "0x1.14p-1", "0x1.13ep-1", "0x1.13dp-1", "0x1.13cp-1", 
        "0x1.13bp-1", "0x1.13ap-1", "0x1.139p-1", "0x1.138p-1", "0x1.136p-1", 
        "0x1.135p-1", "0x1.134p-1", "0x1.133p-1", "0x1.132p-1", "0x1.131p-1", 
        "0x1.12fp-1", "0x1.12ep-1", "0x1.12dp-1", "0x1.12cp-1", "0x1.12bp-1", 
        "0x1.12ap-1", "0x1.129p-1", "0x1.127p-1", "0x1.126p-1", "0x1.125p-1", 
        "0x1.124p-1", "0x1.123p-1", "0x1.122p-1", "0x1.12p-1", "0x1.11fp-1", 
        "0x1.11ep-1", "0x1.11dp-1", "0x1.11cp-1", "0x1.11bp-1", "0x1.11ap-1", 
        "0x1.118p-1", "0x1.117p-1", "0x1.116p-1", "0x1.115p-1", "0x1.114p-1", 
        "0x1.113p-1", "0x1.112p-1", "0x1.11p-1", "0x1.10fp-1", "0x1.10ep-1", 
        "0x1.10dp-1", "0x1.10cp-1", "0x1.10bp-1", "0x1.10ap-1", "0x1.109p-1", 
        "0x1.107p-1", "0x1.106p-1", "0x1.105p-1", "0x1.104p-1", "0x1.103p-1", 
        "0x1.102p-1", "0x1.101p-1", "0x1.1p-1", "0x1.0fep-1", "0x1.0fdp-1", 
        "0x1.0fcp-1", "0x1.0fbp-1", "0x1.0fap-1", "0x1.0f9p-1", "0x1.0f8p-1", 
        "0x1.0f6p-1", "0x1.0f5p-1", "0x1.0f4p-1", "0x1.0f3p-1", "0x1.0f2p-1", 
        "0x1.0f1p-1", "0x1.0fp-1", "0x1.0efp-1", "0x1.0eep-1", "0x1.0ecp-1", 
        "0x1.0ebp-1", "0x1.0eap-1", "0x1.0e9p-1", "0x1.0e8p-1", "0x1.0e7p-1", 
        "0x1.0e6p-1", "0x1.0e5p-1", "0x1.0e3p-1", "0x1.0e2p-1", "0x1.0e1p-1", 
        "0x1.0ep-1", "0x1.0dfp-1", "0x1.0dep-1", "0x1.0ddp-1", "0x1.0dcp-1", 
        "0x1.0dbp-1", "0x1.0d9p-1", "0x1.0d8p-1", "0x1.0d7p-1", "0x1.0d6p-1", 
        "0x1.0d5p-1", "0x1.0d4p-1", "0x1.0d3p-1", "0x1.0d2p-1", "0x1.0d1p-1", 
        "0x1.0dp-1", "0x1.0cep-1", "0x1.0cdp-1", "0x1.0ccp-1", "0x1.0cbp-1", 
        "0x1.0cap-1", "0x1.0c9p-1", "0x1.0c8p-1", "0x1.0c7p-1", "0x1.0c6p-1", 
        "0x1.0c4p-1", "0x1.0c3p-1", "0x1.0c2p-1", "0x1.0c1p-1", "0x1.0cp-1", 
        "0x1.0bfp-1", "0x1.0bep-1", "0x1.0bdp-1", "0x1.0bcp-1", "0x1.0bbp-1", 
        "0x1.0bap-1", "0x1.0b8p-1", "0x1.0b7p-1", "0x1.0b6p-1", "0x1.0b5p-1", 
        "0x1.0b4p-1", "0x1.0b3p-1", "0x1.0b2p-1", "0x1.0b1p-1", "0x1.0bp-1", 
        "0x1.0afp-1", "0x1.0aep-1", "0x1.0acp-1", "0x1.0abp-1", "0x1.0aap-1", 
        "0x1.0a9p-1", "0x1.0a8p-1", "0x1.0a7p-1", "0x1.0a6p-1", "0x1.0a5p-1", 
        "0x1.0a4p-1", "0x1.0a3p-1", "0x1.0a2p-1", "0x1.0a1p-1", "0x1.09fp-1", 
        "0x1.09ep-1", "0x1.09dp-1", "0x1.09cp-1", "0x1.09bp-1", "0x1.09ap-1", 
        "0x1.099p-1", "0x1.098p-1", "0x1.097p-1", "0x1.096p-1", "0x1.095p-1", 
        "0x1.094p-1", "0x1.093p-1", "0x1.091p-1", "0x1.09p-1", "0x1.08fp-1", 
        "0x1.08ep-1", "0x1.08dp-1", "0x1.08cp-1", "0x1.08bp-1", "0x1.08ap-1", 
        "0x1.089p-1", "0x1.088p-1", "0x1.087p-1", "0x1.086p-1", "0x1.085p-1", 
        "0x1.084p-1", "0x1.083p-1", "0x1.081p-1", "0x1.08p-1", "0x1.07fp-1", 
        "0x1.07ep-1", "0x1.07dp-1", "0x1.07cp-1", "0x1.07bp-1", "0x1.07ap-1", 
        "0x1.079p-1", "0x1.078p-1", "0x1.077p-1", "0x1.076p-1", "0x1.075p-1", 
        "0x1.074p-1", "0x1.073p-1", "0x1.072p-1", "0x1.071p-1", "0x1.06fp-1", 
        "0x1.06ep-1", "0x1.06dp-1", "0x1.06cp-1", "0x1.06bp-1", "0x1.06ap-1", 
        "0x1.069p-1", "0x1.068p-1", "0x1.067p-1", "0x1.066p-1", "0x1.065p-1", 
        "0x1.064p-1", "0x1.063p-1", "0x1.062p-1", "0x1.061p-1", "0x1.06p-1", 
        "0x1.05fp-1", "0x1.05ep-1", "0x1.05dp-1", "0x1.05bp-1", "0x1.05ap-1", 
        "0x1.059p-1", "0x1.058p-1", "0x1.057p-1", "0x1.056p-1", "0x1.055p-1", 
        "0x1.054p-1", "0x1.053p-1", "0x1.052p-1", "0x1.051p-1", "0x1.05p-1", 
        "0x1.04fp-1", "0x1.04ep-1", "0x1.04dp-1", "0x1.04cp-1", "0x1.04bp-1", 
        "0x1.04ap-1", "0x1.049p-1", "0x1.048p-1", "0x1.047p-1", "0x1.046p-1", 
        "0x1.045p-1", "0x1.044p-1", "0x1.043p-1", "0x1.042p-1", "0x1.04p-1", 
        "0x1.03fp-1", "0x1.03ep-1", "0x1.03dp-1", "0x1.03cp-1", "0x1.03bp-1", 
        "0x1.03ap-1", "0x1.039p-1", "0x1.038p-1", "0x1.037p-1", "0x1.036p-1", 
        "0x1.035p-1", "0x1.034p-1", "0x1.033p-1", "0x1.032p-1", "0x1.031p-1", 
        "0x1.03p-1", "0x1.02fp-1", "0x1.02ep-1", "0x1.02dp-1", "0x1.02cp-1", 
        "0x1.02bp-1", "0x1.02ap-1", "0x1.029p-1", "0x1.028p-1", "0x1.027p-1", 
        "0x1.026p-1", "0x1.025p-1", "0x1.024p-1", "0x1.023p-1", "0x1.022p-1", 
        "0x1.021p-1", "0x1.02p-1", "0x1.01fp-1", "0x1.01ep-1", "0x1.01dp-1", 
        "0x1.01cp-1", "0x1.01bp-1", "0x1.01ap-1", "0x1.019p-1", "0x1.018p-1", 
        "0x1.017p-1", "0x1.016p-1", "0x1.015p-1", "0x1.014p-1", "0x1.013p-1", 
        "0x1.012p-1", "0x1.011p-1", "0x1.01p-1", "0x1.00fp-1", "0x1.00ep-1", 
        "0x1.00dp-1", "0x1.00cp-1", "0x1.00bp-1", "0x1.00ap-1", "0x1.009p-1", 
        "0x1.008p-1", "0x1.007p-1", "0x1.006p-1", "0x1.005p-1", "0x1.004p-1", 
        "0x1.003p-1", "0x1.002p-1", "0x1.001p-1", 
    ]]
)


x86_sse_approx_table_map = {
    None: { # language
        ReciprocalSeed: {
            None: {
                lambda optree: True: {
                    type_strict_match(ML_Binary32, ML_Binary32): x86_rcp_table,
                },
            },
        },
    },
}
